home *** CD-ROM | disk | FTP | other *** search
/ Mac Power 1998 March / MACPOWER-1998-03.ISO.7z / MACPOWER-1998-03.ISO / AMUG / Music / SoundMaster 1.8.3.sit / SoundMaster changes < prev    next >
Text File  |  1996-09-20  |  25KB  |  168 lines

  1. Known problems in version 1.8.3:
  2. === Nasty problems that will not be fixed soon ===
  3. ・・ There may be a problem with speech recognition when it gives you the message that it didn't understand what you said. You'll just have to turn it off.
  4. ・・ There may be a conflict with the AudioVision extension.  Again, you'll just have to turn it off.  Until I actually have an AV machine of my own to debug it on, I really have no way to fix this or the speech recognition problem.
  5. ・・ There seem to be major compatibility problems with System 7.5, especially on PowerPC machines.  These have not been looked into.  If it doesn't work for you, I'm sorry, but I can't fix these problems right now because I don't have a PowerPC machine.  But try turning off Virtual Memory first.
  6. ・ For some unknown reason, DiskCopy installs its own SysBeep patch which is incompatible with SoundMaster.  To fix this, in DiskCopy 4.2 use ResEdit to change the word in CODE 1, offset 3310, from A047 to 4E71.  In the DiskCopy 5.0 beta, the A047 can be found in CODE 2.
  7. === Low priority problems that will not be fixed soon ===
  8. ・ Sounds compressed with MACE may not work.  Since nobody has complained about it yet, fixing this is a low priority.
  9. ・ No testing has been done to see what happens during startup with aliases to sound files on unmounted disks, but it'll probably give you a "please insert the disk" dialog.
  10. ・ Preferences file for System 6 uses a hard-coded ':' in the preferences folder path name. This probably won't work on an A/UX volume, but if you're still running System 6 under A/UX, you should upgrade anyhow.
  11. ・ Under System 7, some unknown conditions may prevent the Copy Done sound from playing.  This was not fixed because I could not reproduce the problem.  If you have this problem, check the title of your file copying window.  If it is not "Copy", re-install System 7.  If you have ever run an INIT called "Making Copies" or something else has changed the title of the Finder's "Copy" window, you may have to reinstall your system to make this sound work.  If you are running a non-US system file you may have to use ResEdit to put the title of this window into a 'STR ' -4048 resource in your settings file.
  12. ・ Under System 7, if Empty Trash is selected when the trash warning dialog has not been disabled, the Empty Trash sound will play when the dialog comes up, not when the trash is emptied.  This was not fixed because I couldn't think of a reliable way to fix it.  To turn off your trash warning dialog, select the trash, do a Get Info on it, and turn off the "Warn before emptying" check box.
  13. ・ When using Dayna's DOS Mounter 3.01, dragging disks to the trash in the Finder results in an error -58 (External File System error) or -5000 (no privilege) and an unmounted disk left in your disk drive.  I have verified that this was Dayna's bug (UnmountVol didn't clear dQFSID in the drive queue element), and they say this will be fixed in 4.0.
  14.  
  15. Version 1.8.3 changes:
  16. ・ Zoom sounds weren't working because Finder 7.5.4 and later now draw six-phase zoomrects instead of four-phase like they used to.  The code to detect zoomrects was dependent on a four-rectangle cycle.  It now uses a completely rewritten and much more robust recognizer.
  17. ・ The completely rewritten zoomrect recognizer fixes a bug which sometimes caused the zoom sounds to "stutter" by being played more than once per zoom.
  18.  
  19. Version 1.8.2 changes:
  20. ・ The "disable individual sound volumes" preferences option didn't disable *all* attempts to change the volume level.  This would usually result in your sound level sticking at 7 after the beep sound played.
  21. ・ Sounds from suitcases that were not on the boot volume would be forgotten when opening the SoundMaster control panel.
  22. ・ Added code to find the sound files during startup if directory IDs had changed or if you had copied someone else's preferences file.  If the disk name and its volume creation date are changed, only the startup disk is searched.
  23.  
  24. Version 1.8.1 changes:
  25. ・ Fixed a problem where the popup menu could cause a crash on 68000 machines.
  26. ・ Fixed a problem with the Preferences folder code.  I was checking to see if the System 7 FindFolder call existed, then I was using the result of that the *wrong* way.  This would cause SoundMaster to be unable to find the old settings file under System 6, and it would cause a folder named "Preferences" to be used on non-US systems such as KanjiTalk, instead of the "real" preferences folder.
  27. ・ Added a new preferences option to disable individual volume levels for each sound event.  That feature has been a problem since Apple came out with Sound Manager 3.0.  I recommend checking this option if you are using System 7.5 or later.
  28.  
  29. Version 1.8 changes:
  30. ・ Changed my mailing address.
  31. ・ Updated the documentation.
  32. ・ Removed all "curly quotes", since they aren't displayed correctly on some international versions of the system.
  33. ・ Added preferences options for sound channel reuse and _ResrvMem patch and increased the settings file version number to ensure that these options would be enabled for 1.7.x users.
  34. ・ Increased the system heap allocation to 160k if Sound Manager 3.0 is installed, since I have heard of some people still having problems with the startup sound not playing.
  35. ・ Found out (in Develop issue #16) that I should not be calling _HUnlock during interrupt time, which I have been doing since version 1.2 right through 1.7.4.  Or at least I thought I was.  Upon closer inspection, I found out that I =wasn't= doing this in versions 1.7b4 through 1.7.5 because I had a branch with the wrong condition, so the sounds were lying around forever locked in the system heap!  I now keep reference counts and unlock the sound handles during idle time.
  36. ・ Fixed a bug that could make the chime play uncontrollably.
  37. ・ If you throw away the folder currently being displayed in the SoundMaster window, clicking on the folders popup menu will now send you to the Desktop level instead of leaving you stranded.
  38. ・ If you hold down the option key when releasing the folders popup menu over first item, the current folder will be re-scanned.
  39. ・ Installed completely new file selection code with the capability to select files from any mounted volume, and from within sound suitcases.  It's also alias-aware.
  40. ・ Added code to mount other volumes at startup if necessary, with a new preferences option to enable/disable mounting volumes during startup.
  41. ・ Created a real MDEF for the popup menu.  However, no checking is done to see if it goes off the edge of the screen.
  42. ・ Updated the LDEF to support italic items (for aliases).
  43. ・ Added mouse up and mouse down sounds.  They don't work perfectly; you may hear an extra click when switching applications, and they only play when the event is taken by the application instead of at PostEvent time.  If you don't like the way it works, just turn if off.
  44.  
  45. Version 1.7.5 changes:
  46. ・ An incorrect variable name when checking for a NIL handle caused certain types of sound files to not be loaded and made the small "x" appear during startup.
  47.  
  48. Version 1.7.4 changes:
  49. ・ If a SoundMaster is already playing when a new sound is about to be played, the sound channel is now re-used instead of disposing the old one and creating a new one. The sound channel is now always initialized to mono or stereo (determined at startup by whether Gestalt says stereo is supported or not). This change was made because of the bug in the AV's DSP Manager which updates the file "DSP Preferences" =every= time SndDisposeChannel is called, causing constant disk accesses. While this change will not prevent the disk accesses from happening, it should stop them during heavy typing or scrolling.
  50. ・ Pre-allocated storage for sound channel in an attempt to fix performance problems with Sound Manager 3.0, which much after much testing seem to be Memory Manager related.
  51. ・ Added a patch to disable _ResrvMem while SoundMaster called _SndNewChannel. This not only fixes the performance problem that I've been having with _SndNewChannel and Sound Manager 3.0, it makes it consistently faster than the fastest that I had ever seen it before. The performance gain far outweighs the temporary loss of having an optimal layout of the system heap.
  52. ・ Fixed the problem with the Sound Manager 3.0 and AV volume control by patching _Control and _SoundDispatch to passively keep track of changes in the current hardware volume level instead of setting SPVolCtl back to the "real" volume level immediately after calling SetSoundVol.
  53. ・ Startup sound wasn't playing with the new Sound Manager.  The problem was insufficient spare system heap.  I've upped my spare system heap allocation to 144k when Sound Manager 3.0 is present, otherwise the old value of 24k is used.
  54. ・ The jGNEFilter patch would sometimes trash A1, resulting in mouseDowns and keyDowns being ignored, and who knows what else. This bug was in 1.7.3.
  55. ・ Added in code to use the creator type from the BNDL -4064 resource as the file type/creator when making a new settings file.
  56. ・ Added support for stereo SoundEdit files.
  57. ・ Fixed a stack cleanup bug in the PROC -4047 completion routine, and designed it to also function as a completion routine for SndStartFilePlay.
  58. ・ During startup, sound resource files are opened twice, once to get the sound size, then a second time to load it after enough memory is available.  If there was an error loading the sound resource the second time, it was on the road to Crashville.  But it is very unlikely that this bug ever actually happened.  Anyhow, it's fixed now.
  59. ・ Added code to delete old settings files left in the System Folder.
  60. ・ Made sure during InitStorage that curSound was in range.
  61. ・ Fixed potential unlocked handle bug during initialization of control panel (when scanning to make sure all selected sound files are still around).
  62.  
  63. Version 1.7.3 changes:
  64. ・ Fixed a problem with opening sound files in the INIT part of SoundMaster.  If a System 7 sound file had already been opened with Suitcase and then SoundMaster loaded that sound during startup, a crash would occur when Suitcase tried to use the sound.  (This is the same as the first fix listed for 1.7.2 except that I forgot to fix the same bug in the INIT code.)
  65. ・ The Empty Trash sound would not work if the trash was emptied via a command key in the Special menu.  This was fixed by adding a patch to MenuKey.
  66. ・ During startup, when the SoundMaster icon was on the right edge of the screen with the shift key held down, the 'X' icon would appear at the left of the next row.  Now I finally understand how to do this the right way.
  67. ・ Added a jGNEFilter patch to get idle time for the chime sound.  (I was previously doing this in the SystemEvent patch, but it is useless for getting idle time)
  68. ・ Fixed a bug in the KillIO patch.  If KillIO was called with a refNum of -4 (sound driver) while a SoundMaster sound was playing, the beep sound would die because the A0 register got trashed, which in turn trashed the code for the beep sound and made the KillIO call fail.
  69. ・ Found two handle purging bugs with playing a sound by clicking on the speaker icon.  One would prevent a sound resource from playing, the other would cause a crash after playing a sound.  (The PROC -4047 bug from 1.6 came back to haunt me when I rearranged code for 1.7!)
  70. ・ Found an unlocked handle bug when playing a sound by clicking on the speaker icon.  THIS bug has apparently been lurking around ever since version 1.4 when I made SoundMaster use a separate settings file, and was definitely in 1.6.5.  For some reason it never got found until now, probably because I found the PROC -4047 bug first.
  71.  
  72. Version 1.7.2 changes:
  73. ・ Made the control panel part of SoundMaster more tolerant when playing sound resouce files that are open by other applications/INITs.
  74. ・ Fixed (again) the bug which would cause a crash under System 6 without MultiFinder.  This time I patched Launch instead of InitApplZone.
  75. ・ Added a KillIO patch which stops the currently playing SoundMaster sound, because calling KillIO for the Sound Driver turns off the ASC chip, and thereby stops the current sound without the Sound Manager knowing about it.  Then it calls VRemove, ignores the result, and clears out the SoundActive global.  (I was doing =this= to applications when I was using the Sound Driver?)
  76. ・ Moved the GetOSEvent patch into a SystemEvent patch, because GetOSEvent isn't supposed to move memory.  The GetNextEvent patch has been incorporated into this patch as well.
  77.  
  78. Version 1.7.1 changes:
  79. ・ Major bug would cause a crash running 6.0.7 without MultiFinder when a program was launched or quit.  Nobody reported this bug during the beta testing period.
  80. ・ Not tested, but apparently hourly chime countdown wouldn't work unless there was also a "Chime :00" sound.  This has been fixed.
  81.  
  82. Version 1.7 changes:
  83. ・ The settings file format has changed again.  If you were using version 1.4 or later of SoundMaster, you will need to first open up SoundMaster as a control panel.  Then close it and open your System Folder.  Make sure that there is not a file named "SoundMaster settings" in the System Folder (throw it away if you find one), and that there IS a file named "SoundMaster settings" within a folder named "Preferences" within the System Folder.  If your old copy of SoundMaster was older than 1.4, you'll have to set up your sounds all over again.
  84. ・ Complete abandonment of the Sound Driver in favor of the Sound Manager.
  85. ・ Because of the above, key down and disk insert events are now trapped when they are picked up, not when they are posted.  In plain English, this means that you will no longer always hear key click sounds immediately after pressing a key.
  86. ・ Support for System 7 sound files.  (File type='sfil', creator='movr', containing one 'snd ' resource.  File type 'snd ' is also allowed but must still contain one 'snd ' resource)  If you have any "sound suitcase" files, change their type & creator to 'zsys' & 'MACS' (with the suitcase's folder window closed).  You can then double-click on them and drag the sounds out.
  87. ・ Upgraded to the newest version of ShowInit which supports multiple icon rows and 'icl8' icons.  (Note to other programmers:  "ShowInit.a" on the CD-ROM is the newest version, "ShowInit.a.o" is *not*.)
  88. ・ Added Help Manager balloons for the main window and the preferences and about box dialogs.
  89. ・ Added option+up arrow and option+down arrow key combinations for changing folders because Finder 7.0 eats command+key combinations in control panels.
  90. ・ New settings file format.  Older versions from 1.4 and later are automatically converted when you open SoundMaster as a control panel.
  91. ・ Removed Finder sounds entirely, as they are not supported by Finder 7.0.  If you are using System 6.x, you can still use SoundMaster version 1.6.5 instead if you really want them.
  92. ・ Added sounds for Zoom open, Zoom closed, Empty trash, Grow window, and Copy Done done the hard way.  Note that Copy Done under 7.0 requires the title of the "Copy" window to be stored as a string resource in the settings file if you're using a foreign-language version of the Finder.
  93. ・ Added three new key click sounds for the Tab, Delete, and Enter keys.
  94. ・ A list of folder names is now kept for each sound file.  This means that when you back up your hard disk, erase it, and then restore it, SoundMaster will try to find your sound files by looking for all the parent folders by name.  This only happens when you open SoundMaster as a control panel file.
  95. ・ Prevented alias files from showing up in the file listing.  This also prevents files with the old-style Finder "locked" bit from showing up.  (Because it's the same bit!)  This bit is not supported in 6.x and should not be used anyhow.  Generally you can double click on such files in Finder 7.0 and they will be fixed up.
  96. ・ Set the cursor to a watch cursor when validating the selected sound files.  (While the control panel part is starting up)
  97. ・ Added calls to _HWPriv to ensure 100% 68040 compatiblity, after my visit to Fusion Engineering.  If _BlockMove flushes the cache, everything is OK, but some programs like to make excessive _BlockMove calls, and flushing the caches all the time gives them poor performance.  My solution is to not depend on a _BlockMove patch.
  98. ・ Changed startup code to copy itself into the system heap instead of using BufPtr memory temporarily.  Advantage:  Now I can see my procedure names in MacsBug.  Disadvantage:  I have to get rid of that heap block, and it's not a great idea to dispose the heap block you are executing from.  Therefore I copy a _DisposHandle + RTS to a low memory scratch area, flush the caches, and jump to that.
  99. ・ Minimum reserve system heap space has been increased from 16k to 24k, since one of the Sound Manager synthesizers is already almost 15k in size.
  100. ・ The reason I needed to the system heap clearance was due to a bug that would cause the startup sound to be loaded into the system heap in the beta versions.  It seems that every "skanky" program eventually finds one new undocumented Strange Thing about the Mac OS, and this is one of them.  I have not seen this mentioned before, so it might be worth passing on:
  101.   OpenResFile loads the resource map into theZone.  Apparently, resources that do not have the resSysHeap attribute set will be loaded into the same heap zone as the resource map.  If theZone was sysZone, ALL resources will be read into the system heap!  (This behavior was noticed under System 6.0.7 during INIT loading time.)
  102.  
  103. Version 1.6.5 changes:
  104. ・ A newly created settings file wasn't getting the correct file/creator type.
  105. ・ Touched up color icons a bit more.
  106. ・ Note:  If you have been using an earlier version that didn't put the settings in a Preferences folder, you'll have to remove the older file from the System Folder by yourself.
  107.  
  108. Version 1.6.4 changes:
  109. ・ Introduced another bug with saving the settings.  If an error occurred from trying to create the Preferences folder, it got annoyed and gave up.  Unfortunately, it would get an error if the folder was already there.
  110.  
  111. Version 1.6.3 changes:
  112. ・ Oops!  Forgot to carry over a change in the Preferences folder code to the INIT code, and other INITs after SoundMaster were sometimes not loading during startup.
  113. ・ Put in support for the Folder Manager in System 7.
  114.  
  115. Version 1.6.2 changes:
  116. ・ Worked around a problem with the new List Manager in System 6.0.7 and 7.0b1 which would cause the scroll bar to not always update properly when changing folders.
  117. ・ Fixed a bug with playing a sound in the control panel.  It was possible for the PROC -4047 resource to get purged from memory before it could be copied into a new block of memory, resulting in a crash after the sound completed.
  118. ・ Settings file is now kept in a "Preferences" folder in the System Folder.
  119. ・ Added color and small icons for System 7.
  120.  
  121. Version 1.6 changes:
  122. ・ Fixed a rare bug with the eject sound.
  123. ・ The Finder sounds wouldn't work with Virex Guard INIT.  I removed what I think was offending VGI.
  124. ・ Fixed the chime sound to keep chiming once it's started instead of counting down the chime whenever it felt like it.  That was really starting to bug me.
  125. ・ All the sound volume defaults that weren't at maximum volume (7) are now set to the Control Panel volume level.
  126. ・ When using the pop-up menu to change folders, the folder that you came out of is highlighted.
  127. ・ If a file name is too long in the file list, it is displayed "squished" so you can see more of the file name.  Some people might think it looks kind of ugly, so there's an option in the Preferences dialog to turn it off.  (This is a nifty idea I got from playing around with System 7, but it works better in Chicago 12.)
  128. ・ Added an option to prevent any other SoundMaster sound from playing during the chime sound.  Without this option, a well-timed beep can mess up the chime.
  129. ・ Added an Alarm Clock sound.  System 6.0 or later is required to use the Alarm Clock sound.  The alarm clock sound is considered a chime sound for the purposes of the "disable sounds during chime" options.
  130. ・ Command down- and up-arrow will move you into and out of folders.
  131. ・ Strange behavior when the enter key was pressed with no file or folder selected has been fixed.
  132. ・ The settings file version has changed, but settings files from versions 1.4 and 1.5 will be automatically converted when SoundMaster is called up from the Control Panel.  (until the settings file is converted, an 'X' will show through the startup icon)
  133.  
  134. Version 1.5 changes:
  135. ・ Fixed a bug that prevented the startup icon from being turned off.
  136. ・ Added more Finder sounds and put an "ト" in front of them to indicate that they are Finder sounds.  This fills up 31 of the 32 sound slots that I had reserved space for.  Since they're just tacked on to the end, the settings file version hasn't been changed and you can use your old one from 1.4.
  137. ・ Selecting "About the Finder" and closing it now plays the "Open icon" and "Close icon" sounds.
  138. ・ Rescan of selected sound files when SoundMaster is opened from the control panel can be bypassed by holding down the option key.
  139. ・ Made file names too long for the scroll box show a "ノ" instead of just falling off the edge.
  140.  
  141. Version 1.4 changes:
  142. ・ Added a totally cool new file selection list to let you select a sound file anywhere on the startup disk.  The code for this knows how to select 'snd ' resources, but nothing else knows about them yet and won't for quite some time now.  At least the user interface problem with 'snd ' resources is gone.
  143. ・ The settings are kept in a separate file.  NOTE:  If you aren't getting an icon for the settings file and want one, there are two things that must be done.  First, if you have an old version of SoundMaster, it has to be taken off the disk, trashed, bundle bit cleared, or something.  Then you have to rebuild the desktop by holding down the command and option keys while the Finder is starting up.  (Warning:  you'll lose all your Get Info comments!)
  144. ・ No more ID=33 bombs!  SoundMaster now gets its own memory at startup instead of letting INIT 31 foul things up.  This allows you to use a randomizer init on the sounds now.  (You should also be able to randomize settings files.)  If there isn't enough memory for one or more sounds, a small red 'X' is drawn through the startup icon.
  145. ・ My method for drawing the red 'X' through icons didn't work with IconWrap.  I now use the standard ShowInit code along with my own "icon backspace" code.  I had to borrow a friendly computer store's IIci for an hour or so to make the color icons.
  146. ・ If a sound file is used more than once, it is now loaded only once.  This saves on both start-up time and memory.
  147. ・ If the control panel volume is zero, all the sounds (except for those played from the control panel) will stay silent.
  148. ・ When SoundMaster is opened in the control panel, it rescans the selected sound files to get an up-to-date total of memory usage.  This is to allow for a randomizer init.
  149. ・ Completely rearranged the layout in the control panel.
  150. ・ Added preferences dialog.
  151. ・ Made a slider bar control to select the sound volume and playback rate.
  152. ・ Keyboard support:  You can now select sound files by typing the file name or by using the up and down arrow keys.  When you press the return or enter key, the selected sound is played, just like clicking on the speaker icon or double clicking on the file name.
  153. ・ Moved sound selection into a scrolling list.  On/off buttons have been removed and replaced with little speaker icons in the sounds list.  Click on those to enable/disable a sound.  If the sound can't be enabled (because it hasn't had a file selected for it) you'll just get a beep.
  154. ・ Added a "sample sound".  This sound is not used anywhere outside of the control panel.  It is intended to let you play sounds without accidentally leaving, say, the space key sound set to the A-Team theme song.
  155. ・ Added chime sounds.
  156. ・ Empty trash sound!  Tricky code intercepts Finder Sounds initialization from Finder 6.1.4.  It's even compatible with the existing "Finder Sounds" program! If SoundMaster's trash sound is disabled, it lets Finder Sounds' trash sound be used instead.  Finder open icon and close icon sounds are supported too.
  157.   To localize to a foreign system file, change STR# -4048 to contain the correct name of the finder and the finder sounds file.  The finder sounds file name is found at the end of STR# 129 in the Finder.
  158.  
  159. Version 1.3 changes:
  160. ・ Improved startup icon support, showing a red 'X' through the icon if something is wrong.
  161. ・ Added the Control Panel volume as one of the volume options.
  162. ・ Sped up changing folders.
  163. ・ When changing to a sound that does not a have a file selected, the folder currently showing is not changed.  (unless the sound was set to a file that isn't there any more)
  164. ・ Added double-clicking on file names to play the sound.
  165. ・ Made the speaker icon hilight like a button when clicked on.
  166. ・ Cleaned up the installed code, removing any unnecessary "tail-patches".
  167. ・ Found two subtle bugs with restoring the sound volume, one that would set the volume to 1, and another that would leave the volume at the key-click volume if you typed at just the right speed.
  168. ・ Made the disk insert and eject sounds work with any ejectable disk drive.  (a CD-ROM player, for instance).